import matplotlib
matplotlib.use('TkAgg')
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
image = cv2.imread('photo.png')
# 因为 cv2.imread 读取的是 BGR 格式，而 matplotlib 显示使用 RGB 格式，所以需要转换
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# 定义变换前后的三个点
pts1 = np.float32([[50, 50], [200, 50], [50, 200]])
pts2 = np.float32([[10, 100], [200, 50], [100, 250]])

# 计算仿射变换矩阵
M = cv2.getAffineTransform(pts1, pts2)

# 进行仿射变换
affine_transformed = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))

# 使用 matplotlib 显示原始图像和仿射变换后的图像
plt.subplot(121), plt.imshow(image)
plt.title('Original Image')
plt.axis('off')

plt.subplot(122), plt.imshow(affine_transformed)
plt.title('Affine Transformed Image')
plt.axis('off')

plt.show()
